package com.example.xxpk.service.useroutifts;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.xxpk.bo.OutfitInfo;
import com.example.xxpk.pojo.UserOutifts;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zhangguihong
 * @since 2025-02-13
 */
public interface IUserOutiftsService extends IService<UserOutifts> {

    List<OutfitInfo> getOutfitInfoByUserIdAndCategory(Integer userId, String category);

    //能否试玩
    Integer canTrialOutfit(Integer userId, Integer outiftsId);

    void recordTrialOutfit(Integer userId, Integer outiftsId,Integer category);
    /**
     * 将同类别其他装扮的 is_using 置为 0
     * @param userId 用户 ID
     * @param category 装扮类别
     */
    void unuseOtherOutfits(Integer userId, Integer category);

    /**
     * 将指定装扮的 is_using 置为 1
     * @param userId 用户 ID
     * @param outiftsId 装扮 ID
     * @return 操作是否成功
     */
    boolean useOutfit(Integer userId, Integer outiftsId);

    /**
     * 检查用户是否拥有该装扮
     * @param userId 用户 ID
     * @param outiftsId 装扮 ID
     * @return 是否拥有
     */
    boolean isUserOwnOutfit(Integer userId, Integer outiftsId);

    //试玩结束
    void recordTrialOutOutfit(Integer userId, Integer outiftsId);

    //用户某个具体装扮信息
    OutfitInfo getOutfitInfoByUserIdAndOutiftsId(Integer userId, Integer outiftsId);

}
